package br.com.skpharma.dao;
import java.util.ArrayList;

import br.com.skpharma.db.DB;
import br.com.skpharma.vo.ItemVO;
import br.com.skpharma.vo.ItemVendaVO;



public class DAOItem {
	private DB db = new DB("jdbc:postgresql://localhost:5432/skpharma","postgres","postgres");
	private ItemVO itemVO;

	public DAOItem(){
		itemVO = new ItemVO();
	}
	
	public ItemVO getItemVO() {
		return itemVO;
	}

	public void setItemVO(ItemVO itemVO) {
		this.itemVO = itemVO;
	}
	
	public void salvar(ArrayList lista, int codvenda){
		int coditem = 0;
		int qtd = 0;
		if(db.connect()){
			int i;
			for (i=0; i<lista.size(); i++){
				db.update("insert into item (cod_produto, cod_categoria) values ('" + ((ItemVO)((ItemVendaVO)lista.get(i)).getItemVO()).getProdutoVO().getCod() + "','" + ((ItemVO)((ItemVendaVO)lista.get(i)).getItemVO()).getProdutoVO().getCategoriaVO().getCod() + "')");
				db.select("select max (cod_item) as cod_item from item");
				if(db.moveNext()){
					coditem = db.getInt("cod_item");
				}
				qtd = ((ItemVendaVO)lista.get(i)).getQtde();
				DAOItemVenda daoItemVenda = new DAOItemVenda();
				daoItemVenda.salvar(codvenda,coditem,qtd);
			}
			db.disconnect();
			
		}		
	}

	public void excluir(){
		if(db.connect()){
			db.update("delete from item where cod_item = " + itemVO.getCod());			
			db.disconnect();
		}		
	}
	
	

/*	public void carregar(int codigo){		
		if(db.connect()){
			db.select("select cod_item, cod_produto from item inner join  where cod_item=" + codigo);
			if(db.moveNext()){
				itemVO.setCod(db.getInt("cod_item"));
				itemVO.setDs(db.getString("ds_item"));
			}
			db.disconnect();
		}		
	}*/
/*	
	public ArrayList obterLista(){
		ArrayList lista = new ArrayList();
		ItemVO item;		
		if(db.connect()){
			db.select("select cod_item, ds_item from item order by cod_item");
			while(db.moveNext()){
				item = new ItemVO(db.getInt("cod_item"),db.getString("ds_item"));
				lista.add(item);
			}
			db.disconnect();
		}		
		return lista;
	}
*/	
	
	
}
